// 测试新的提示词系统
const { promptManager } = require('../dist/utils/prompt-manager.js');

async function testPromptSystem() {
  console.log('=== 📝 提示词系统测试 ===\n');

  // 测试获取所有提示词
  console.log('1. 获取所有提示词:');
  const allPrompts = promptManager.getAllPrompts();
  allPrompts.forEach((prompt, index) => {
    console.log(`${index}. ${prompt.title}`);
    console.log(`   内容长度: ${prompt.content.length} 字符`);
    console.log(`   内容预览: ${prompt.content.substring(0, 100)}...\n`);
  });

  // 测试当前提示词
  console.log('2. 当前提示词:');
  const currentPrompt = promptManager.getCurrentPrompt();
  if (currentPrompt) {
    console.log(`标题: ${currentPrompt.title}`);
    console.log(`内容包含日期变量: ${currentPrompt.content.includes('new Date()')}`);
  }

  // 测试切换提示词
  console.log('\n3. 切换提示词测试:');
  console.log('切换到编程助手...');
  const switched = promptManager.switchPromptByTitle('编程助手');
  console.log(`切换结果: ${switched}`);
  
  if (switched) {
    const newCurrent = promptManager.getCurrentPrompt();
    console.log(`新的当前提示词: ${newCurrent?.title}`);
  }

  // 测试添加新提示词
  console.log('\n4. 添加新提示词测试:');
  const newPrompt = {
    title: '测试助手',
    content: '这是一个测试提示词，当前时间是 ${new Date().toLocaleString()}'
  };
  
  promptManager.addPrompt(newPrompt);
  console.log('已添加测试提示词');

  // 验证添加结果
  const allPromptsAfter = promptManager.getAllPrompts();
  console.log(`添加后总数: ${allPromptsAfter.length}`);
  
  const lastPrompt = allPromptsAfter[allPromptsAfter.length - 1];
  console.log(`最后一个提示词: ${lastPrompt.title}`);
  console.log(`变量替换测试: ${lastPrompt.content.includes('2025')}`);

  // 测试列表功能
  console.log('\n5. 提示词列表:');
  console.log(promptManager.listPrompts());

  // 清理测试数据
  console.log('6. 清理测试数据...');
  promptManager.deletePrompt(allPromptsAfter.length - 1);
  console.log('测试提示词已删除');

  console.log('\n✅ 提示词系统测试完成！');
}

testPromptSystem().catch(console.error);
